package cn.e4j.modular.system.service;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.system.entity.SysUser;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 用户资料表 服务类
 * </p>
 *
 * @author wenchuan.li
 * @since 2018-12-02
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 查询用户列表
     */
    List<Map<String, Object>> getUserslist(Page<Object> page, Dto dto);

    /**
     * 查询用户列表
     */
    List<SysUser> getUserslist(Dto dto);

    /**
     * 获取用户关联的角色
     */
    List<Map<String, Object>> listUserRoles(String userid);

    /**
     * 根据账号获取登录用户
     *
     * @param account 账号
     */
    SysUser getByAccount(String account);

    /**
     * 逻辑删除用户
     *
     * @param user
     */
    void delUser(SysUser user);

//    /**
//     * 获取销售渠道
//     */
//    List<Map<String, Object>> listGwaes(Dto inDto);
//
//    /**
//     * 获取用户关联的销售渠道
//     */
//    List<Map<String, Object>> listUserGwaes(String userid);

    /**
     * 获取行业一级分类
     */
    List<Map<String, Object>> listGwbws(Dto inDto);

    /**
     * 获取用户关联的行业一级分类
     */
    List<Map<String, Object>> listUserGwbws(String userid);

    Dto getUser(String ID);

    Dto checkCellPhone(Dto inDto);

    void saveNewPassword(Dto inDto);

    Dto getUserRole(Dto inDto);

    void deleteUserRole(Dto inDto);

    int getUserCount();

}
